Prolog atau disebut juga dengan bahasa pemrograman logika atau non-prosedural
adalah bahasa pemrograman yang didasarkan pada deklarasi fakta dan aturan (rule).
Berdasarkan data dan aturan yang tersimpan dalam program,
sehingga menghasilkan suatu kesimpulan.
Maka programmer dapat melakukan query untuk mendapatkan solusi atau
jawaban yang merupakan hasil komputasi dari program lojik tersebut.
Hal ini berbeda dengan bahasa prosedural seperti Pascal, Fortran, C,
atau yang sejenis, dimana pemrogram memberi perintah atau
penugasan untuk memecahkan persoalan langkah demi langkah,
sehingga sering disebut sebagai programming with assignment.
Disamping itu, berbeda dengan pemrograman fungsional,
pemrograman logika ini menggunakan relasi,
bukan fungsi sehingga sangat sesuai untuk implementasi sistem pakar.
Prolog sangat ideal untuk memecahkan masalah yang tidak terstruktur
dan yang prosedur pemecahannya tidak diketahui,
khususnya untuk memecahkan masalah non numeric.
Misalnya, dalam pembuatan program menentukan hubungan keluarga,
programmer cukup medeklarasikan fakta fakta dan juga menentukan aturan aturan.
Selanjutkan, Prolog akan mencari jawaban dari pertanyaan berdasarkan fakta dan aturan
Prolog banyak digunakan untuk sebuah sistem seperti sistem pakar, game, pengenalan pola, robotik.
Beberapa kelebihan Prolog:
Bahasa pemrograman Artificial Intellegence dan robot.
Bahasa pemrograman computer generasi kelima.
PROLOG banyak digunakan dalam aplikasi pembuatan bahasa alami, penulisan compiler, penambahan ilmu pada sistem pakar dan purwarupa (prototype) perangkat lunak.
Bagus untuk menulis sistem pakar dan knowledge based system.
Menggunakan teknik pencarian yang di sebut heuristik (heutistic) dengan menggunakan pohon logika.
Melakukan komputasi rumit pada data yang kompleks.
Mengekpresikan algoritma dengan baik.
Mengalokasikan memori secara dinamis sehingga programmer tidak harus mendeklarasikan ukuran sebuah struktur data sebelum membuatnya.
Mengembangkan dan memodifikasi dirinya sendiri sehingga sebuah program dapat “belajar” melalui informasi yang didapat selama program dijalankan
PROLOG mempunyai Automated Reasoning Procedure (Prosedur Sebab-Akibat Otomatis) yang disebut Inference Engine (Inference = proses pengambilan kesimpulan) yang sudah built-in didalamnya. Akibatnya, program yang menggunakan logika sebab-akibat jadi lebih mudah ditulis dalam PROLOG.
Materi Reguler :
Simple Facts , Facts with Arguments, Variables and Unification, Rules/Aturan,
Search, Recursion, Relation, Queries/Pertanyaan, Predikat
Implementasi Lists untuk pertanyaan
Menjelaskan tentang penulisan program Prolog
(fakta, peraturan, queries, pencarian, pengesahan, tindakan )
Studi kasus : Pohon keluarga
Mempelajari jenis-jenis pertanyaan dalam Prolog
Recursive Cycle of Unification, Penilaian Sub-Goal
Mengetahui bagaimana Prolog menilai suatu pertanyaan
Pertanyaan aktif ->Klausa Program / Recursive
Penerapan Aplikasi Prolog untuk SPK pada contoh Game
Hari ke-4-5:
Review Materi Hari1, Hari2, Hari3 dalam studi kasus
Penerapan Contoh Aplikasi Relational Pertanyaan-Goal
NB:
Lama Belajar 5 Hari @ 3jam
Kelas Minimal 2 Orang
Jika Membawa Laptop Sendiri Harus Sudah Terinstall Program
Contoh Penerapan Algoritma menggunakan Prolog CLI/GUI yang umumnya kita support antara lain:
Kerjanya Bahasa Pemrograman Prolog :
1. Tidak adanya prosedur,
tetapi hanya kumpulan data-data objek (fakta) yang akan diolah,
dan relasi antar objek tersebut membentuk aturan yang diperlukan untuk
mencari suatu jawaban
2. Programmer menentukan tujuan (goal),
dan komputer menentukan bagaimana cara mencapai tujuan tersebut serta
mencari jawabannya.
3. Dilakukan pembuktian terhadap cocok-tidaknya tujuan dengan data-data yang telah ada
dan relasinya.
Sistem Pakar (Expert System): Program menggunakan teknik pengambilan kesimpulan dari data-data yang didapat, layaknya seorang ahli. Contoh dalam mendiagnosa penyakit Bonus: Penerapan pada aplikasi /studi kasus
Pengolahan Bahasa Alami (Natural Languange Processing): Program dibuat agar pemakai dapat berkomunikasi dengan komputer dalam bahasa manusia sehari-hari, layaknya penterjemah. Bonus: Penerapan pada aplikasi /studi kasus
Robotik: Prolog digunakan untuk mengolah data masukan yang berasal dari sensor dan mengambil keputusan untuk menentukan gerakan yang harus dilakukan. Bonus: Penerapan pada aplikasi /studi kasus
Prolog Integrasi dengan GUI (Visual Prolog) Bonus: Penerapan pada aplikasi /studi kasus
Prolog untuk Pengenalan Pola (Pattern Recognition), Banyak digunakan dalam image processing, dimana komputer dapat membedakan suatu objek dengan objek yang lain.
Prolog untuk Pembelajaran (Deep Learning), Program belajar dari kesalahan yang pernah dilakukan, dari pengamatan atau dari hal-hal yang pernah diminta untuk dilakukan.
Prolog Integrasi ke Netbeans dan Database Parsing Data Prolog for Analysis and Visualizations Integrasi menggunakan GUI Program Netbeans / Java Bonus: Penerapan pada aplikasi /studi kasus
+ Sistem Pakar Diagnosa Kerusakan Komputer dengan Metode Fordward Chaining + Sistem Pakar Diagnosa Kerusakan Notebook dengan Metode Backward Chaining + Sistem Pakar untuk Kerusakan Komputer dengan Metode Backward Chaining + Perancangan Sistem Pakar Diagnosa Potensi Serangan Stroke Menggunakan Metode Fordward Chaining + Sistem Pakar Untuk Mendiagnosa Baby Blues Pada Wanita Dalam Masa Nifas Dengan Menerapkan Metode Fordward Chaining + Sistem Pakar Untuk Mendiagnosa Penyakit Angina Pektoris (Angin Duduk) Dengan Menggunakan Fordward Chaining + Perancangan Aplikasi Untuk memeriksa Keaslian Data Yang Telah Didownload Menggunakan Fordward Chaining + Implementasi Metode Sugeno Pada Sistem Pakar Penentuan Stadium Pada Penyakit Tuverculosis (TBC) + Perancangan Sistem Pakar Untuk Mengidentifikasi Penyakit Pada Tanaman Semangka Dengan Menggunakan Metode Fordward Chaining + Sistem Pakar Diagnosa Gejala Kecanduan Game Online Dengan Menggunakan Metode Fordward Chaining + Perancangan Sistem Pakar Diagnosa Penyakit Paru Obsturktif Kronik Dengan Menggunakan Backward Chaining + Perancangan Sistem Pakar Untuk Mengenal Kepribadian Dengan Metode Backward Chaining + Sistem Pakar Untuk Mendiagnosa Penyakit Polop Nasi (Polip Hidung) Menggunakan Metode Backward Chaining + Sistem Pakar Mendiagnosa Penyakit Kista Ovarium Dengan Menggunakan Metode Fordward Chaining + Perancangan Sistem Pakar Deteksi Penyakit Aeromonas Hudrophila Pada Ikan Gurami Dengan Metode Fordward Chaining + Sistem Pakar Diagnosa Penyakit Pada Tanaman Kelapa Sawit Dengan Metode Fordward Chaining + Sistem Pakar Untuk Memprediksi Penyakit Pada Tanaman Cabai Menggunakan Metode Backward Chaining + Sistem Pakar Diagnosa Kecanduan Menggunakan Internet (Internet Addiction) Menggunakan Metode Fordward Chaining + Perancangan Aplikasi Sistem Pakar Untuk Mendiagnosa Penyakit Ginjal Dengan Metode Fordward Chaining + Sistem Pakar Mendiagnosa Penyakit Mandul Pada Pria Dan Wanita Dengan Menggunakan Fordward Chaining + Sistem Pakar Untuk Mendiagnosa Penyakit Alopesia Pada Manusia Dengan Metode Fordward Chaining + Sistem Pakar Dalam Menentukan Tingkat IQ Anak Yang Mengalami Reterdasi Mental Dengan Metode Fordward Chaining + Sistem Akhir menentukan Tingkat Depresi Mahasiswa Semester Akhir Menggunakan Metode Backward Chaining + Sistem Pakar Mendiagnosa Penyakit Demam Berdarah Dengan Metode Backward Chaining + Forward Chaining Untuk Membantu Pengendalian Penyakit Menular Tuberkulosis + Perancangan Aplikasi Prolog Untuk Deteksi Penyakit Paru-Paru Dengan Fordward Chaining + Sistem Pakar Untuk Mendiagnosa Penyakit Gagal Ginjal Dengan Menggunakan Metode Fordward Chaining + Perancangan Sistem Pakar Untuk Mengetahui Infertilitas Pada Perempuan Menggunakan Metode Fordward Chaining + Sistem Pakar Mendeteksi Gizi Buruk Pada Balita Berbasis WEB Dengan Menggunakan Metode Fordward Chaining + Sistem Pakar Diagnosa Kanker Serviks Menggunakan Metode Fordward Chaining + Sistem Pakar Mendiagnnosa Penyakit Lambung Dengan Menggunakan Metode Fordward Chaining + Sistem Pakar Diagnosa Penyakit Tumor Sumsum Tulang Belakang Dengan Fordward Chaining + Sistem Pakar Perancangan Aplikasi Sistem Pakar Identifikasi Kerusakan Komponen Hardware Komputer Dengan Menggunakan Metode Fordward Chaining + Sistem Pakar untuk Mendiagnosa Pengguna Narkoba Dengan Menggunakan Metode Fordward Chaining + Aplikasi Sistem Pakar Untuk Mendiagnosa Penyakit Tulang Dengan Menggunakan Metode Backward Chaining + Aplikasi Sistem Pakar Untuk Mendiagnosa Penyakit Dyspepsia Dengan Menggunakan Metode Fordward Chaining + Perancangan Aplikasi Sistem Diagnosa Penyakit Myelodysplasi Sindrome (MDS) Dengan Menggunakan Metode Backward Chaining + Aplikasi Sistem Pakar Pendeteksi Kerusakan Printer Dengan Backward Chaining + Sistem Pakar Diagnosa Pengguna Narkoba Dengan Menggunakan Metode Fordward Chaining